﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Collections.TreeCollections;
using FeatureModelCore.FMAnalyzer;
using FeatureModelCore.FMInterface;
using FeatureModelCore.Optimized;

namespace FeatureModelCore.FMInterface
{
    public interface IOptimizableFeature : IOptimizable, IFeature
    {
        void AddPropertyForFeature(OptimizedPropertyForFeature property);
        void AddPropertyForRelation(OptimizedPropertyForRelationship property);
        OptimizedPropertyForFeature GetPropertyForFeature(TreeNodeIdentify id);
        OptimizedPropertyForRelationship GetPropertyForRelation(TreeNodeIdentify id);
        FMProductCollection TmpResult { get; }
        OptimizedPropertyForFeature[] PropertiesForFeature { get; }
        OptimizedPropertyForRelationship[] PropertiesForRelation { get; }

    }
}
